1. Field of the Invention
The present invention generally relates to software usage and, more specifically, to a method and system for providing instructional information to software application end-users.
2. Description of the Related Art
A wide variety of software applications are currently available to end-users, including computer-aided design (CAD) applications, computer graphics applications, animation applications, word processing applications, and computer programming applications, among others. Many of these software applications allow an end-user to interact with the software application via a graphical end-user interface (GUI). Conventional GUIs often provide the end-user with access to a set of tools that can be used to perform various operations within a workspace generated by the software application. For example, a CAD application could provide a set of drawing tools that could be used to draw different shapes within a drawing workspace generated by the CAD application. Each tool in the set of tools could be represented within the GUI with an icon that the end-user could select in order to use the tool.
Despite advances in making complex applications easier to operate, learning how to use such applications can still be problematic. More complex applications, for example the CAD application described above, often have thousands of commands or functions to choose from, and many more ways for an end-user to combine the different functions into workflows. When using an unfamiliar area of such an application, even expert end-users may require assistance.
Consequently, software applications may provide the end-user with instructional information that assists in using the different tools associated with the software application. For example, the software application may include a “help” database that receives a query from the end-user and then identifies articles that relate to the received query. Those articles may then be displayed to the end-user. One problem with conventional help databases is that access thereto is based on a “pull” model, in which the end-user is required to open a new window in order to submit a query to the help database. Therefore, when the end-user is actively working within a workspace generated by the software application and needs to access instructional information pertaining to that work, the end-user is required to stop working in order to access the help database. Such interruptions may inhibit the productivity of the end-user. Another problem with conventional help databases is that a pull model for requesting help does not take into consideration other factors that may indicate the most pertinent instructional information that should be provided to the end-user, and instead only relies on explicit requests for information made by the end-user.
As the foregoing illustrates, there is a need in the art for a more effective way to provide end-users of a software application with information related to usage of the software application.